package com.itzhoujun.jtimer.controller;

import com.itzhoujun.jtimer.entity.Stock;
import com.itzhoujun.jtimer.mapper.StockInfoMapper;
import com.itzhoujun.jtimer.utils.Response;
import com.itzhoujun.jtimer.utils.TableSet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.ArrayList;
import java.util.List;

@Controller
@RequestMapping("/StockInfo")
public class StockInfoController {

    @Autowired
    private StockInfoMapper stockInfoMapper;


    @GetMapping("/index")
    public String index(){
        return "stockinfo/index";
    }
   
//    @PostMapping("/doUpdate")
//    @ResponseBody
//    public Object doUpdate(@Valid Stock stock, BindingResult bindingResult){
//        if(bindingResult.hasErrors()){
//            return Response.error(bindingResult.getFieldError().getDefaultMessage());
//        }
//        Integer id = stock.getId();
//        int num;
//        if(id != null && id > 0){
//            num = stockInfoMapper.updateById(stock);
//        }else{
//            num = stockInfoMapper.insert(stock);
//        }
//        if(num > 0){
//            return Response.successAndJump("/Stock/index");
//        }else{
//            return Response.error("操作失败");
//        }
//
//    }

    @GetMapping(value = {"/add"})
    public String edit(Integer id,ModelMap map){
    	System.out.println("chakanid:"+id);
        if(null != id && id > 0){
            map.addAttribute("vo",stockInfoMapper.selectById(id));
        }
        return "stockinfo/chakan";
    }

    @GetMapping(value = {"/chakan"})
    public String chakan(Integer id,String stockCd,ModelMap map){
        System.out.println("stockCd:"+stockCd);
        if(!StringUtils.isEmpty(stockCd)){
            map.addAttribute("stockCd",stockCd);
            map.addAttribute("vo",stockInfoMapper.selectById(id));
        }
        return "stockinfo/chakan";
    }

    @GetMapping("/lists")
    @ResponseBody
    public Object lists(Integer page, Integer limit){
        TableSet<Stock> datasets = new TableSet<>(page,limit);
        List<Stock> list = stockInfoMapper.selectPage(datasets);
        return datasets.setRecords(list).response();
    }
//
    @GetMapping("doDel")
    @ResponseBody
    public Object doDel(Integer id){
        int num = 0;
        if(null != id && id > 0){
            num = stockInfoMapper.deleteById(id);
        }
        if(num > 0){
            return Response.success();
        }else{
            return Response.error();
        }
    }
}
